#pragma    once

#ifndef    _SNAKE_
#define    _SNAKE_

#include    <deque>
#include    "Utilities.h"
#include    "Food.h"
//#include    "Board.h"
class    Board;
class    Snake    
{
public:
                std::deque<Point>    segments;
                Board    *board;
                bool    isDead;
                int    direction;
                Snake()    {}
                Snake(Board    *b);
                void    move();
                void    reset();
                void    update();
                void    increaseSize();
                bool    checkForFoodCollision();
                bool    checkForBorderCollision();
                bool    checkForSelfCollision();
};

#endif